This resource address can be used to update the properties for the specified role.
URL Parameters | |
---|---|
format | The format of the posted data. Can be either
json (default) or xml . This value overrides the Accept header if
both are present. |
Response Headers | |
---|---|
Content-type | The MIME type of the data in the response
body. Depending upon the value of the format parameter or Accept header, either
application/xml or application/json . |
Upon success, MarkLogic Server returns status code 204 (No Content). If the payload is malformed or the database does not exist, a status code of 400 (Bad Request) is returned. A status code of 401 (Unauthorized) is returned if the user does not have the necessary privileges.
manage-admin
and security
rolehttp://marklogic.com/xdmp/privileges/manage
http://marklogic.com/xdmp/privileges/manage-admin
http://marklogic.com/xdmp/privileges/role-set-name
http://marklogic.com/xdmp/privileges/role-set-decription
http://marklogic.com/xdmp/privileges/role-set-roles
http://marklogic.com/xdmp/privileges/role-set-external-names
http://marklogic.com/xdmp/privileges/role-set-default-collections
http://marklogic.com/xdmp/privileges/role-set-default-permissions
http://marklogic.com/xdmp/privileges/privilege-add-roles
http://marklogic.com/xdmp/privileges/privilege-remove-roles
manage
role, http://marklogic.com/xdmp/privileges/manage
plus the following granular privileges:
http://marklogic.com/xdmp/privileges/create-data-role
http://marklogic.com/xdmp/privileges/role/edit/role-ID
http://marklogic.com/xdmp/privileges/grant-my-privileges
queries
was added in 10.0-7.
Note: The properties described here are for XML payloads. In general they are the same for
JSON, with the exception that, in JSON, roles
, permissions
,
privileges
, collections
, and queries
are expressed in
singular form. For example, in JSON, roles
is instead role
and the
format is: "role":["rolename"]
. Please pay special attention that the singular
form of queries
is capability-query
.
The structure of the output returned from this REST API is as follows:
role-name
description
compartment
external-names
This is a complex structure with the following children:
external-name
roles
This is a complex structure with the following children:
role
permissions
This is a complex structure with the following children:
permission
This is a complex structure with the following children:
role-name
capability
privileges
This is a complex structure with the following children:
privilege
This is a complex structure with the following children:
privilege-name
action
kind
collections
This is a complex structure with the following children:
collection
queries
This is a complex structure with the following children:
capability-query
This is a complex structure with the following children:
capability
query
This is a complex structure with the following children:
cts:query
curl -X PUT --anyauth -u admin:admin -H "Content-Type:application/json" \ -d '{"description":"engineers"}' http://localhost:8002/manage/v2/roles/engineer/properties ==> Changes the description for the role, "engineer," to "engineers".
// JSON payload example for updating a role with queries. $ cat payload.json { "role-name":"region-EMEA", "description":"Can see region EMEA documents.", "compartment":"compartment-region", "capability-query":[{ "capability":"node-update", "query": { "elementQuery": { "element": ["metadata"], "query": { "elementWordQuery": { "element": ["region"], "text": ["EMEA"], "options": ["lang=en"] } } } } }] } curl -X PUT -i --digest -u admin:admin -H "Content-Type:application/json" \ -d @payload.json http://localhost:8002/manage/v2/roles/region-EMEA/properties ==> Changes the role queries of a role, named "region-EMEA", from capability "read" to capability "node-update".
(: XML payload for updating a role with queries :) $ cat payload.xml <role-properties xmlns="http://marklogic.com/manage/role/properties"> <compartment>compartment-region</compartment> <role-name>region-EMEA</role-name> <description>Can see region EMEA documents.</description> <queries> <capability-query> <capability>node-update</capability> <query> <cts:element-query xmlns:cts="http://marklogic.com/cts"> <cts:element>metadata</cts:element> <cts:element-word-query> <cts:element>region</cts:element> <cts:text xml:lang="en">EMEA</cts:text> </cts:element-word-query> </cts:element-query> </query> </capability-query> </queries> </role-properties> curl -X PUT -i --digest -u admin:admin -H "Content-Type:application/xml" \ -d @payload.xml http://localhost:8002/manage/v2/roles/region-EMEA/properties ==> Changes the role queries of a role, named "region-EMEA", from capability "read" to capability "node-update".